package com.ruoyi.parking.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 车位管理对象 parking_space
 * 
 * @author ruoyi
 * @date 2025-10-27
 */
public class ParkingSpace extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 车位唯一标识ID */
    private Long id;

    /** 关联停车场ID（外键，关联parking_lot.id） */
    @Excel(name = "关联停车场ID", readConverterExp = "外=键，关联parking_lot.id")
    private Long lotId;

    /** 停车场名称 */
    @Excel(name = "停车场名称")
    private String lotName;

    /** 车位编号（如A区01号） */
    @Excel(name = "车位编号")
    private String spaceCode;

    /** 车位类型：0=普通车位，1=新能源充电车位，2=无障碍车位，3=VIP车位 */
    @Excel(name = "车位类型：0=普通车位，1=新能源充电车位，2=无障碍车位，3=VIP车位")
    private String spaceType;

    /** 当前状态：0=空闲，1=已占用，2=已预约，3=故障 */
    @Excel(name = "当前状态：0=空闲，1=已占用，2=已预约，3=故障")
    private String currentStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setLotId(Long lotId) 
    {
        this.lotId = lotId;
    }

    public Long getLotId() 
    {
        return lotId;
    }

    public String getLotName() {
        return lotName;
    }

    public void setLotName(String lotName) {
        this.lotName = lotName;
    }

    public void setSpaceCode(String spaceCode) 
    {
        this.spaceCode = spaceCode;
    }

    public String getSpaceCode() 
    {
        return spaceCode;
    }

    public void setSpaceType(String spaceType) 
    {
        this.spaceType = spaceType;
    }

    public String getSpaceType() 
    {
        return spaceType;
    }

    public void setCurrentStatus(String currentStatus) 
    {
        this.currentStatus = currentStatus;
    }

    public String getCurrentStatus() 
    {
        return currentStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("lotId", getLotId())
            .append("lotName", getLotName())
            .append("spaceCode", getSpaceCode())
            .append("spaceType", getSpaceType())
            .append("currentStatus", getCurrentStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
